#ifndef INCLUDES_PREDICATES_H
#define INCLUDES_PREDICATES_H 1

#include <unistd.h>

typedef void *(*predicate_compile_f)(void *, size_t *, char **, int);
typedef int (*predicate_execute_f)(char *, size_t, void *, void **);
typedef void (*predicate_destroy_f)(void *);

typedef struct predicate_t {
	char *name;
	int minargs, maxargs;
	
	predicate_compile_f compile;
	predicate_execute_f execute;
	predicate_destroy_f destroy;
} predicate_t;

#endif
